layui.define(['layer'],function (exports) {
    let $ = layui.$;
    let obj = {
        /**
         * 高德地图的页面渲染
         * @param lon
         * @param lat
         * @param id
         */
        gMap: function (lon, lat, id) {
            // 实例化高得地图
            let map = new AMap.Map(id, {
                view: new AMap.View2D({
                    center:new AMap.LngLat(lon, lat) // 地图的中心点
                    , zoom: 13
                })
            });
            // 添加点坐标
            let marker = new AMap.Marker({
                icon: "//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png",
                position: [lon, lat],
                offset: new AMap.Pixel(-13, -30)
            });
            marker.setMap(map);
        },
        /**
         * 消息提示框
         * @param message
         * @param icon
         * @param obj
         */
        tipMessage: function (message, icon=5, obj='') {
            let layer = layui.layer;
            if (obj !== ''){
                layer.msg(message, {icon: icon}, obj);
            }else {
                layer.msg(message, {icon: icon});
            }
        }
        /**
         * 根据输入的地址获取经纬度
         * @param id
         * @param addText
         */
        , getLatLon: function (id, addText='天安门', lon_name='longitude', lat_name='latitude') {
            AMap.plugin('AMap.Geocoder', function () {
                let geocoder = new AMap.Geocoder();
                geocoder.getLocation(addText, function (status, result) {
                    if (status === 'complete' && result.info === 'OK'){
                        let lng = result.geocodes[0].location.lng; // 获取经度
                        let lat = result.geocodes[0].location.lat; // 获取纬度

                        let map = new AMap.Map(id, {
                            resizeEnable: true, // 允许缩放
                            center: [lng, lat], // 设置地图的中心点
                            zoom: 15
                        });
                        let marker = new AMap.Marker({
                            map: map,
                            position: new AMap.LngLat(lng, lat),   // 经纬度
                        });
                        $("input[name="+lon_name+"]").val(lng);
                        $("input[name="+lat_name+"]").val(lat);
                    }else {
                        tipMessage('定位失败')
                    }
                });
            });
        }
    }
    exports('common', obj);
})
